package models

func GetCppTest() *InputStruct {
	return &InputStruct{
		SubmissionID: 1234567890,
		Language:     "cpp",
		Code:         "#include <iostream>\nint main(){int a,b,c;std::cin>>a>>b>>c;std::cout<<a+b+c<<std::endl;return 0;}",
		TestCases: []TestCase{
			{CaseID: 1, Stdin: "1 2 3", Expected: "6"},
			{CaseID: 2, Stdin: "4 5 6", Expected: "15"},
		},
		ResourcesLimits: ResourcesLimits{
			CpuTime:     1,
			MemoryBytes: 67108864,
			StackBytes:  1048576,
			OutputBytes: 1048576,
		},
		Message:        "",
		SeccompProfile: "cpp",
	}
}
func GetPythonTest() *InputStruct {
	return &InputStruct{
		SubmissionID: 1234567890,
		Language:     "python3",
		Code:         "import sys\nline = sys.stdin.readline()\na, b = map(int, line.split())\nprint(a+b)",
		TestCases: []TestCase{
			{CaseID: 1, Stdin: "1 2\n", Expected: "3"},
			{CaseID: 2, Stdin: "4 5\n", Expected: "9"},
			{CaseID: 3, Stdin: "10 20\n", Expected: "30"},
		},
		ResourcesLimits: ResourcesLimits{
			CpuTime:     5, // 增加超时时间到5秒
			MemoryBytes: 128 * 1024 * 1024,
			StackBytes:  1024 * 1024,
			OutputBytes: 1024 * 1024,
		},
		Message:        "",
		SeccompProfile: "python",
	}
}

func GetGoTest() *InputStruct {
	return &InputStruct{
		SubmissionID: 1234567890,
		Language:     "go",
		Code:         "package main; func main() { println(1+2+3) }",
		TestCases: []TestCase{
			{CaseID: 1, Stdin: "", Expected: "6"},
		},
		ResourcesLimits: ResourcesLimits{
			CpuTime:     1,
			MemoryBytes: 128 * 1024 * 1024,
			StackBytes:  1024 * 1024,
			OutputBytes: 1024 * 1024,
		},
		Message:        "",
		SeccompProfile: "go",
	}
}
func GetJavaTest() *InputStruct {
	return &InputStruct{
		SubmissionID: 1234567890,
		Language:     "java",
		Code:         "public class Main { public static void main(String[] args) { System.out.println(1+2+3); } }",
		TestCases: []TestCase{
			{CaseID: 1, Stdin: "", Expected: "6"},
		},
		ResourcesLimits: ResourcesLimits{
			CpuTime:     1,
			MemoryBytes: 128 * 1024 * 1024,
			StackBytes:  1024 * 1024,
			OutputBytes: 1024 * 1024,
		},
		Message:        "",
		SeccompProfile: "java",
	}
}
func GetRustTest() *InputStruct {
	return &InputStruct{
		SubmissionID: 1234567890,
		Language:     "rust",
		Code:         "fn main() { println!(\"1+2+3\"); }",
		TestCases: []TestCase{
			{CaseID: 1, Stdin: "", Expected: "6"},
		},
		ResourcesLimits: ResourcesLimits{
			CpuTime:     1,
			MemoryBytes: 128 * 1024 * 1024,
			StackBytes:  1024 * 1024,
			OutputBytes: 1024 * 1024,
		},
		Message:        "",
		SeccompProfile: "rust",
	}
}
